package mutation;



import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;

import ga.GAInfo;
import ga.Individual;
import model.TestClusterBuilder;
import operations.Operation;
import util.GAOperationsConfig;
import util.Randomness;
import util.GAConfig;
public class TestMutationMain {
	public static void main(String[] args) {
		Mutation ChangeValueStrategy = GAOperationsConfig.getMutationChangeValueStrategy();
		GAInfo gaInfo=  new GAInfo();
		Randomness.reset(20);
		
		 Set<Class<?>> allClasses = new LinkedHashSet<Class<?>>();
	      //get class from file
	      allClasses.addAll(TestClusterBuilder.readClassFromFile());

	      
	      TestClusterBuilder TestCluster = new TestClusterBuilder(allClasses);
	      gaInfo.setTestCluster(TestCluster);
	      List<Operation> ops=new LinkedList<Operation>();

	    	  ops.addAll(Operation.randomlyGenerate(TestCluster,GAConfig.TestCaseSize));

////	      Individual individual1=new Individual(ops);
//			System.out.println("Input value changed.");
//			System.out.println("Original individual: \n" + individual1);
//			
//			ChangeValueStrategy.setExtraInfo(gaInfo);
//			
//			Individual individual2=ChangeValueStrategy.mutateIndividual(individual1);
//			System.out.println("Original individual: \n" + individual1);
//
//			System.out.println("Mutated individual: \n" + individual2);

			System.exit(0);

	}

}
